package com.sdy.dcsb.biz.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sdy.common.model.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * 服务参数配置表
 * @author Snaky
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value = "EsbInboundParam", description = "参数配置信息")
public class EsbInboundParam extends BaseModel {
    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "参数配置信息数组")
    private Integer id;

    /**
     * 服务编码
     */
    @ApiModelProperty(value = "参数配置信息数组")
    private Integer serviceId;
    /**
     * 参数模式(1 入参  2 出参)
     */
    @ApiModelProperty(value = "参数模式(1 入参  2 出参)")
    private Integer paramMode;
    /**
     * 返回数据类型(1 json格式、2 xml格式)
     */
    @ApiModelProperty(value = "返回数据类型(1 json格式、2 xml格式)")
    private Integer responseDataType;
    /**
     * 参数格式(1 地址栏参数、2 head参数、3 json格式、4 form-data参数、5 form-urlencoded参数)
     */
    @ApiModelProperty(value = "参数格式(1 地址栏参数、2 head参数、3 json格式、4 form-data参数、5 form-urlencoded参数)")
    private Integer paramFormat;
    /**
     * 参数类型(1 一般参数 、 2 常量参数)
     */
    @ApiModelProperty(value = "参数类型(1 一般参数 、 2 常量参数)")
    private Integer paramType;
    /**
     * 参数名
     */
    @ApiModelProperty(value = "参数名")
    private String paramKey;
    /**
     * 参数含义
     */
    @ApiModelProperty(value = "参数含义")
    private String paramName;
    /**
     * 参数值
     */
    @ApiModelProperty(value = "参数值")
    private String paramValue;
    /**
     * 节点类型(1 int、2 string、3 boolean、4 jsonObject、5 jsonArray)
     */
    @ApiModelProperty(value = "节点类型(1 int、2 string、3 boolean、4 jsonObject、5 jsonArray)")
    private Integer nodeType;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = DATETIME_FORMAT)
    private Date createDate;
    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = DATETIME_FORMAT)
    private Date updateDate;
    /**
     * 序号，自动生成
     */
    @ApiModelProperty(value = "序号，自动生成")
    private Integer orderNum;
    /**
     * 父节点序号
     */
    @ApiModelProperty(value = "父节点序号")
    private Integer parentOrderNum;
}
